/*
 * @lc app=leetcode id=88 lang=cpp
 *
 * [88] Merge Sorted Array
 */
class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {

        int l1 = nums1.size();
        int l2 = nums2.size();
        if (l1 < m+n) {
            return ;
        }

        int i = m+n-1;
        l1 = m-1;
        l2 = n-1;
        while(l1 >= 0 && l2 >= 0) {
            if (nums1[l1] > nums2[l2]) {
                nums1[i] = nums1[l1--];
            } else {
                nums1[i] = nums2[l2--];
            }
            i--;
        }

        while(l1 >= 0) {
            nums1[i--] = nums1[l1--];
        }

        while(l2 >= 0) {
            nums1[i--] = nums2[l2--];
        }
        
    }
};

